package com.jeesite.modules.task.feedback.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeesite.common.entity.BaseEntity;
import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import lombok.Data;

import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 任务反馈信息表Entity
 * @author zrr
 * @version 2022-03-02
 */
@Table(name="dc_sup_task_feedback", alias="a", label="任务反馈信息表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="task_id", attrName="taskId", label="任务id"),
		@Column(name="action_id", attrName="actionId", label="任务分发id"),
		@Column(name="feedback_start_time", attrName="feedbackStartTime", label="反馈开始时间", comment="反馈开始时间（精确到分钟）"),
		@Column(name="feedback_end_time", attrName="feedbackEndTime", label="反馈截止时间", comment="反馈截止时间（精确到分钟）"),
		@Column(name="feedback_content", attrName="feedbackContent", label="最新进展情况"),
		@Column(name="feedback_advice", attrName="feedbackAdvice", label="问题及建议"),
		@Column(name="feedback_progress", attrName="feedbackProgress", label="完成进度", comment="完成进度（1序时推进、2滞后时序、3已完成、4未完成）"),
		@Column(name="feedback_rate", attrName="feedbackRate", label="完成率"),
		@Column(name="feedback_phone", attrName="feedbackPhone", label="反馈人电话"),
		@Column(name="feedback_status", attrName="feedbackStatus", label="反馈状态", comment="反馈状态（0删除、1草稿、2已提交、3反馈审核通过、4反馈审核驳回、5科室审核通过、6科室审核驳回、7机关党组成员审核通过、8机关党组成员审核驳回、9已失效）"),
		@Column(name="feedback_name", attrName="feedbackName", label="反馈人名称", queryType=QueryType.LIKE),
		@Column(name="feedback_time", attrName="feedbackTime", label="反馈时间"),
		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false),
		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false, isUpdateForce=true),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="remarks", attrName="remarks", label="备注", queryType=QueryType.LIKE),
		@Column(includeEntity=BaseEntity.class),
		@Column(name="remarks1", attrName="remarks1", label="备用字段1", queryType=QueryType.LIKE, isUpdateForce=true),
		@Column(name="remarks2", attrName="remarks2", label="备用字段2", queryType=QueryType.LIKE),
		@Column(name="remarks3", attrName="remarks3", label="备用字段3", queryType=QueryType.LIKE),
		@Column(name="remarks4", attrName="remarks4", label="备用字段4", queryType=QueryType.LIKE),
		@Column(name="audit_flag", attrName="auditFlag", label="是否需要审核(0否,1是)"),
		@Column(name="dispatch_flag", attrName="dispatchFlag", label="是否调度(0否,1是)"),
		@Column(name="feedback_dispatch", attrName="feedbackDispatch", label="选择调度 "),
		@Column(name="auditor_code", attrName="auditorCode", label="审核人编号"),
		@Column(name="auditor_name", attrName="auditorName", label="审核人名称"),
		@Column(name="feedback_measure", attrName="feedbackMeasure", label="拟采取的工作举措"),
		@Column(name="feedback_require", attrName="feedbackRequire", label="分阶段目标任务"),
		@Column(name="province_json", attrName="provinceJson", label="省办反馈数据"),
	}, orderBy="a.update_date DESC"
)
@Data
public class DcSupTaskFeedback extends DataEntity<DcSupTaskFeedback> {
	
	private static final long serialVersionUID = 1L;
	 /**
	 * 任务id
	 */
	private String taskId;
	 /**
	 * 任务分发id
	 */
	private String actionId;
	/**
	 * 反馈开始时间（精确到分钟）
	 */
	private Date feedbackStartTime;
	 /**
	 * 反馈截止时间（精确到分钟）
	 */

	private Date feedbackEndTime;

	private String leaderOrg;
	private String leaderOrgCode;
	private String taskTitle;
	private String leaderOrgName;
	private String dispatchFlag;
	private String feedbackDispatch;
	private String colour;
	private String transferFlag;
	private String transferOrgCode;
	private String provinceJson;

	public String getFeedbackDispatch() {
		return feedbackDispatch;
	}

	public void setFeedbackDispatch(String feedbackDispatch) {
		this.feedbackDispatch = feedbackDispatch;
	}

	public String getColour() {
		return colour;
	}

	public void setColour(String colour) {
		this.colour = colour;
	}

	public String getDispatchFlag() {
		return dispatchFlag;
	}

	public void setDispatchFlag(String dispatchFlag) {
		this.dispatchFlag = dispatchFlag;
	}

	public String getTaskTitle() {
		return taskTitle;
	}

	public void setTaskTitle(String taskTitle) {
		this.taskTitle = taskTitle;
	}

	public String getLeaderOrgName() {
		return leaderOrgName;
	}

	public void setLeaderOrgName(String leaderOrgName) {
		this.leaderOrgName = leaderOrgName;
	}

	public String getLeaderOrg() {
		return leaderOrg;
	}

	public void setLeaderOrg(String leaderOrg) {
		this.leaderOrg = leaderOrg;
	}

	public String getFeedbackEndTimeStr() {
		return feedbackEndTimeStr;
	}

	public void setFeedbackEndTimeStr(String feedbackEndTimeStr) {
		this.feedbackEndTimeStr = feedbackEndTimeStr;
	}

	private String feedbackEndTimeStr;
	private String feedbackStartTimeStr;
	 /**
	 * 最新进展情况
	 */
	private String feedbackContent;

	/**
	 * 拟采取的工作举措
	 */
	private String feedbackMeasure;

	public String getFeedbackStartTimeStr() {
		return feedbackStartTimeStr;
	}

	public void setFeedbackStartTimeStr(String feedbackStartTimeStr) {
		this.feedbackStartTimeStr = feedbackStartTimeStr;
	}

	public String getFeedbackMeasure() {
		return feedbackMeasure;
	}

	public void setFeedbackMeasure(String feedbackMeasure) {
		this.feedbackMeasure = feedbackMeasure;
	}

	public Date getFeedbackStartTime() {
		return feedbackStartTime;
	}

	public void setFeedbackStartTime(Date feedbackStartTime) {
		this.feedbackStartTime = feedbackStartTime;
	}

	/**
	 * 问题及建议
	 */
	private String feedbackAdvice;
	 /**
	 * 完成进度（1序时推进、2滞后时序、3已完成、4未完成）
	 */
	private String feedbackProgress;
	 /**
	 * 完成率
	 */
	private Double feedbackRate;
	 /**
	 * 反馈状态（0删除、1草稿、2已提交、3反馈审核通过、4反馈审核驳回、5科室审核通过、6科室审核驳回、7机关党组成员审核通过、8机关党组成员审核驳回、9已失效）
	 */
	private String feedbackStatus;
	 /**
	 * 反馈人名称
	 */
	private String feedbackName;
	 /**
	 * 反馈时间
	 */
	private Date feedbackTime;
	private String feedbackTimeStr;

	public String getFeedbackTimeStr() {
		return feedbackTimeStr;
	}

	public void setFeedbackTimeStr(String feedbackTimeStr) {
		this.feedbackTimeStr = feedbackTimeStr;
	}

	/**
	 * 备用字段1
	 */
	private Long remarks1;
	 /**
	 * 备用字段2
	 */
	private String remarks2;
	 /**
	 * 备用字段3
	 */
	private String remarks3;
	 /**
	 * 备用字段4
	 */
	private String remarks4;
	private String auditFlag;
	private String auditorCode;
	/**
	 * 分阶段目标任务
	 */
	private String feedbackRequire;
	private String taskStatus;
	private Integer isWatch;

	public Integer getIsWatch() {
		return isWatch;
	}

	public void setIsWatch(Integer isWatch) {
		this.isWatch = isWatch;
	}

	public String getFeedbackRequire() {
		return feedbackRequire;
	}

	public void setFeedbackRequire(String feedbackRequire) {
		this.feedbackRequire = feedbackRequire;
	}

	public String getAuditFlag() {
		return auditFlag;
	}

	public void setAuditFlag(String auditFlag) {
		this.auditFlag = auditFlag;
	}

	public String getAuditorCode() {
		return auditorCode;
	}

	public void setAuditorCode(String auditorCode) {
		this.auditorCode = auditorCode;
	}

	public String getAuditorName() {
		return auditorName;
	}

	public void setAuditorName(String auditorName) {
		this.auditorName = auditorName;
	}

	private String auditorName;

	public String getFeedbackPhone() {
		return feedbackPhone;
	}

	public void setFeedbackPhone(String feedbackPhone) {
		this.feedbackPhone = feedbackPhone;
	}

	private String feedbackPhone;
	private String taskTypeCode;

	public DcSupTaskFeedback() {
		this(null);
	}

	public DcSupTaskFeedback(String id){
		super(id);
	}
	
	@Size(min=0, max=64, message="任务id长度不能超过 64 个字符")
	public String getTaskId() {
		return taskId;
	}

	public void setTaskId(String taskId) {
		this.taskId = taskId;
	}
	
	@Size(min=0, max=64, message="任务分发id长度不能超过 64 个字符")
	public String getActionId() {
		return actionId;
	}

	public void setActionId(String actionId) {
		this.actionId = actionId;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getFeedbackEndTime() {
		return feedbackEndTime;
	}

	public void setFeedbackEndTime(Date feedbackEndTime) {
		this.feedbackEndTime = feedbackEndTime;
	}
	
	public String getFeedbackContent() {
		return feedbackContent;
	}

	public void setFeedbackContent(String feedbackContent) {
		this.feedbackContent = feedbackContent;
	}
	
	public String getFeedbackAdvice() {
		return feedbackAdvice;
	}

	public void setFeedbackAdvice(String feedbackAdvice) {
		this.feedbackAdvice = feedbackAdvice;
	}
	
	@Size(min=0, max=10, message="完成进度长度不能超过 10 个字符")
	public String getFeedbackProgress() {
		return feedbackProgress;
	}

	public void setFeedbackProgress(String feedbackProgress) {
		this.feedbackProgress = feedbackProgress;
	}
	
	public Double getFeedbackRate() {
		return feedbackRate;
	}

	public void setFeedbackRate(Double feedbackRate) {
		this.feedbackRate = feedbackRate;
	}
	
	@Size(min=0, max=10, message="反馈状态长度不能超过 10 个字符")
	public String getFeedbackStatus() {
		return feedbackStatus;
	}

	public void setFeedbackStatus(String feedbackStatus) {
		this.feedbackStatus = feedbackStatus;
	}
	
	@Size(min=0, max=64, message="反馈人名称长度不能超过 64 个字符")
	public String getFeedbackName() {
		return feedbackName;
	}

	public void setFeedbackName(String feedbackName) {
		this.feedbackName = feedbackName;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getFeedbackTime() {
		return feedbackTime;
	}

	public void setFeedbackTime(Date feedbackTime) {
		this.feedbackTime = feedbackTime;
	}
	
	public Long getRemarks1() {
		return remarks1;
	}

	public void setRemarks1(Long remarks1) {
		this.remarks1 = remarks1;
	}
	
	@Size(min=0, max=200, message="备用字段2长度不能超过 200 个字符")
	public String getRemarks2() {
		return remarks2;
	}

	public void setRemarks2(String remarks2) {
		this.remarks2 = remarks2;
	}
	
	@Size(min=0, max=200, message="备用字段3长度不能超过 200 个字符")
	public String getRemarks3() {
		return remarks3;
	}

	public void setRemarks3(String remarks3) {
		this.remarks3 = remarks3;
	}
	
	@Size(min=0, max=200, message="备用字段4长度不能超过 200 个字符")
	public String getRemarks4() {
		return remarks4;
	}

	public void setRemarks4(String remarks4) {
		this.remarks4 = remarks4;
	}

	public String getTaskStatus() {
		return taskStatus;
	}

	public void setTaskStatus(String taskStatus) {
		this.taskStatus = taskStatus;
	}
}